package com.jeesite.modules.exam.score.entity;

import com.jeesite.common.entity.BaseEntity;
import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

import javax.validation.constraints.Size;

/**
 * 考核任务指标汇总表Entity
 * @author xhc
 * @version 2022-05-28
 */
@Table(name="dc_sup_exam_sum_quota", alias="a", label="考核任务指标汇总表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="exam_id", attrName="examId", label="考核任务id", isQuery=false),
		@Column(name="quota_group", attrName="quotaGroup", label="指标类型", comment="指标类型（1关键指标、2单项指标）"),
		@Column(name="sum_source", attrName="sumSource", label="汇总来源", comment="汇总来源（1指标报送、2汇总添加）"),
		@Column(name="exam_year", attrName="examYear", label="考核年度"),
		@Column(name="quota_type", attrName="quotaType", label="指标类别"),
		@Column(name="sort_num", attrName="sortNum", label="序号", comment="序号（排序列）", isUpdateForce=true),
		@Column(name="quota_content", attrName="quotaContent", label="目标内容"),
		@Column(name="quota_unit", attrName="quotaUnit", label="单位", comment="单位（数学或物理方面的单位）"),
		@Column(name="quota_weight", attrName="quotaWeight", label="权数"),
		@Column(name="current_yaer_goal", attrName="currentYaerGoal", label="本年度目标"),
		@Column(name="last_yaer_goal", attrName="lastYaerGoal", label="上一年度目标任务"),
		@Column(name="last_year_complete", attrName="lastYearComplete", label="上一年度完成情况"),
		@Column(name="exame_org", attrName="exameOrg", label="被考核单位编码", comment="被考核单位编码（单个）"),
		@Column(name="exame_org_name", attrName="exameOrgName", label="被考核单位名称", comment="被考核单位名称（单个）", queryType=QueryType.LIKE),
		@Column(name="sum_status", attrName="sumStatus", label="汇总状态", comment="汇总状态（0删除、1已保存、2已发布）"),
		@Column(name="version_number", attrName="versionNumber", label="版本号", isUpdateForce=true),
		@Column(name="version_name", attrName="versionName", label="版本名称", queryType=QueryType.LIKE),
		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="remarks", attrName="remarks", label="备注", queryType=QueryType.LIKE),
		@Column(includeEntity=BaseEntity.class),
		@Column(name="remarks1", attrName="remarks1", label="备用字段1", queryType=QueryType.LIKE, isUpdateForce=true),
		@Column(name="remarks2", attrName="remarks2", label="备用字段2", queryType=QueryType.LIKE),
		@Column(name="remarks3", attrName="remarks3", label="备用字段3", queryType=QueryType.LIKE),
		@Column(name="remarks4", attrName="remarks4", label="备用字段4", queryType=QueryType.LIKE),
		@Column(name="percentage", attrName="percentage", label="百分比", isUpdateForce=true)
	}, orderBy="a.update_date DESC"
)
public class DcSupExamSumQuotaDto extends DataEntity<DcSupExamSumQuotaDto> {

	private static final long serialVersionUID = 1L;
	 /**
	 * 考核任务id
	 */
	private String examId;
	 /**
	 * 指标类型（1关键指标、2单项指标）
	 */
	private String quotaGroup;
	 /**
	 * 汇总来源（1指标报送、2汇总添加）
	 */
	private String sumSource;
	 /**
	 * 考核年度
	 */
	private String examYear;
	 /**
	 * 指标类别
	 */
	private String quotaType;
	 /**
	 * 序号（排序列）
	 */
	private Long sortNum;

	/**
	 * 考核通知id
	 */
	private String noticeId;

	 /**
	 * 目标内容
	 */
	private String quotaContent;
	 /**
	 * 单位（数学或物理方面的单位）
	 */
	private String quotaUnit;
	 /**
	 * 权数
	 */
	private String quotaWeight;
	 /**
	 * 本年度目标
	 */
	private String currentYaerGoal;
	 /**
	 * 上一年度目标任务
	 */
	private String lastYaerGoal;
	 /**
	 * 上一年度完成情况
	 */
	private String lastYearComplete;
	 /**
	 * 被考核单位编码（单个）
	 */
	private String exameOrg;
	 /**
	 * 被考核单位名称（单个）
	 */
	private String exameOrgName;
	 /**
	 * 汇总状态（0删除、1已保存、2已发布）
	 */
	private String sumStatus;
	 /**
	 * 版本号
	 */
	private Long versionNumber;
	 /**
	 * 版本名称
	 */
	private String versionName;
	 /**
	 * 备用字段1
	 */
	private Long remarks1;
	 /**
	 * 备用字段2
	 */
	private String remarks2;
	 /**
	 * 备用字段3
	 */
	private String remarks3;
	 /**
	 * 备用字段4
	 */
	private String remarks4;

	/**
     * 考核id
	 */
	private String scoreId;
	/**
	 * 考核分数
	 */
	private Long quotaScore;
	/**
	 * 百分比
	 */
	private Double percentage;


	public Double getPercentage() {
		return percentage;
	}

	public void setPercentage(Double percentage) {
		this.percentage = percentage;
	}

	public String getNoticeId() {
		return noticeId;
	}

	public void setNoticeId(String noticeId) {
		this.noticeId = noticeId;
	}

	public String getScoreId() {
		return scoreId;
	}

	public void setScoreId(String scoreId) {
		this.scoreId = scoreId;
	}

	public Long getQuotaScore() {
		return quotaScore;
	}

	public void setQuotaScore(Long quotaScore) {
		this.quotaScore = quotaScore;
	}

	public DcSupExamSumQuotaDto() {
		this(null);
	}

	public DcSupExamSumQuotaDto(String id){
		super(id);
	}
	
	@Size(min=0, max=64, message="考核任务id长度不能超过 64 个字符")
	public String getExamId() {
		return examId;
	}

	public void setExamId(String examId) {
		this.examId = examId;
	}
	
	@Size(min=0, max=10, message="指标类型长度不能超过 10 个字符")
	public String getQuotaGroup() {
		return quotaGroup;
	}

	public void setQuotaGroup(String quotaGroup) {
		this.quotaGroup = quotaGroup;
	}
	
	@Size(min=0, max=10, message="汇总来源长度不能超过 10 个字符")
	public String getSumSource() {
		return sumSource;
	}

	public void setSumSource(String sumSource) {
		this.sumSource = sumSource;
	}
	
	@Size(min=0, max=4, message="考核年度长度不能超过 4 个字符")
	public String getExamYear() {
		return examYear;
	}

	public void setExamYear(String examYear) {
		this.examYear = examYear;
	}
	
	@Size(min=0, max=10, message="指标类别长度不能超过 10 个字符")
	public String getQuotaType() {
		return quotaType;
	}

	public void setQuotaType(String quotaType) {
		this.quotaType = quotaType;
	}
	
	public Long getSortNum() {
		return sortNum;
	}

	public void setSortNum(Long sortNum) {
		this.sortNum = sortNum;
	}
	
	@Size(min=0, max=255, message="目标内容长度不能超过 255 个字符")
	public String getQuotaContent() {
		return quotaContent;
	}

	public void setQuotaContent(String quotaContent) {
		this.quotaContent = quotaContent;
	}
	
	@Size(min=0, max=255, message="单位长度不能超过 255 个字符")
	public String getQuotaUnit() {
		return quotaUnit;
	}

	public void setQuotaUnit(String quotaUnit) {
		this.quotaUnit = quotaUnit;
	}
	
	@Size(min=0, max=255, message="权数长度不能超过 255 个字符")
	public String getQuotaWeight() {
		return quotaWeight;
	}

	public void setQuotaWeight(String quotaWeight) {
		this.quotaWeight = quotaWeight;
	}
	
	@Size(min=0, max=255, message="本年度目标长度不能超过 255 个字符")
	public String getCurrentYaerGoal() {
		return currentYaerGoal;
	}

	public void setCurrentYaerGoal(String currentYaerGoal) {
		this.currentYaerGoal = currentYaerGoal;
	}
	
	@Size(min=0, max=255, message="上一年度目标任务长度不能超过 255 个字符")
	public String getLastYaerGoal() {
		return lastYaerGoal;
	}

	public void setLastYaerGoal(String lastYaerGoal) {
		this.lastYaerGoal = lastYaerGoal;
	}
	
	@Size(min=0, max=255, message="上一年度完成情况长度不能超过 255 个字符")
	public String getLastYearComplete() {
		return lastYearComplete;
	}

	public void setLastYearComplete(String lastYearComplete) {
		this.lastYearComplete = lastYearComplete;
	}
	
	@Size(min=0, max=100, message="被考核单位编码长度不能超过 100 个字符")
	public String getExameOrg() {
		return exameOrg;
	}

	public void setExameOrg(String exameOrg) {
		this.exameOrg = exameOrg;
	}
	
	@Size(min=0, max=100, message="被考核单位名称长度不能超过 100 个字符")
	public String getExameOrgName() {
		return exameOrgName;
	}

	public void setExameOrgName(String exameOrgName) {
		this.exameOrgName = exameOrgName;
	}
	
	@Size(min=0, max=10, message="汇总状态长度不能超过 10 个字符")
	public String getSumStatus() {
		return sumStatus;
	}

	public void setSumStatus(String sumStatus) {
		this.sumStatus = sumStatus;
	}
	
	public Long getVersionNumber() {
		return versionNumber;
	}

	public void setVersionNumber(Long versionNumber) {
		this.versionNumber = versionNumber;
	}
	
	@Size(min=0, max=100, message="版本名称长度不能超过 100 个字符")
	public String getVersionName() {
		return versionName;
	}

	public void setVersionName(String versionName) {
		this.versionName = versionName;
	}
	
	public Long getRemarks1() {
		return remarks1;
	}

	public void setRemarks1(Long remarks1) {
		this.remarks1 = remarks1;
	}
	
	@Size(min=0, max=200, message="备用字段2长度不能超过 200 个字符")
	public String getRemarks2() {
		return remarks2;
	}

	public void setRemarks2(String remarks2) {
		this.remarks2 = remarks2;
	}
	
	@Size(min=0, max=200, message="备用字段3长度不能超过 200 个字符")
	public String getRemarks3() {
		return remarks3;
	}

	public void setRemarks3(String remarks3) {
		this.remarks3 = remarks3;
	}
	
	@Size(min=0, max=200, message="备用字段4长度不能超过 200 个字符")
	public String getRemarks4() {
		return remarks4;
	}

	public void setRemarks4(String remarks4) {
		this.remarks4 = remarks4;
	}
	
}